home *** CD-ROM | disk | FTP | other *** search
- GENSCRNX VERSION UPDATE LOG
-
-
- 1.6b
- ------
- New: *:GENSCRNX <file>
- *:GENSCRNX is used to specify which program is used to generate
- screen code. *:GENSCRNX overrides any _GENSCRNX in the
- CONFIG.FP/CONFIG.FPW files. If both *:GENSCRNX and _GENSCRNX are not
- specified, the default setting is GENSCRN.PRG located in FoxPro's
- start-up directory. *:GENSCRNX can be used to specify a modified
- GENSCRN needed for a particular screen rather than changing _GENSCRN
- before generating a screen.
-
- New: *:DELOBJ
- Delete screen object at compile time after pre-processing is complete.
- Use *:DELOBJ for objects that need to reside in the .SCX database
- during pre-processing but not in the .SPR file at run-time.
-
- Fix: The insertion of a file using #:INSERTTOP <file> when one platform
- of source code is generated is placed after the .SPR file comment
- heading rather than before. This is not a functionality fix, but
- rather a cosmetic fix.
-
- ---------------------------------------------------------------------------
-
-
- 1.6a
- ------
-
-
- New: #:INSERTTOP <file>
- Inserts file at top of .SPR code before DO CASE of cross-platform
- block. If #:INSERTTOP <file> appears more than once due to
- cross-platform snippets containing the same code, the <file> will
- only be inserted into the .SPR once. This allows header files
- containing #DEFINE directives to be inserted once per .SPR file
- instead of one per platform inside the DO CASE block.
-
- New: The AUTORUN function can now be set by either adding AUTORUN=ON in
- the CONFIG.FP/CONFIG.FPW file or setting a public variable
- _AUTORUN='ON'. Placing *:AUTORUN in the Setup snippet overrides
- AUTORUN=OFF in CONFIG.FP/CONFIG.FPW. Placing *:NOAUTORUN in the
- Setup snippet overrides AUTORUN=ON in CONFIG.FP/CONFIG.FPW.
-
- New: The *:EVLTXT directive is automatically and is no longer a GENSCRNX
- directive. Evaluation of any {{<expC>}} command contained in memo
- fields are automatically evaluated.
-
- New: *:PJXSET
- Place in the Setup snippet before the *:PRG directive or any *:SET
- directive to force the project information to have priority settings
- when building the screen from a project.
- Example:
- If the following was in the Setup snippet of a screen:
- *:SET MODAL ON
- *:PJXSET
- *:SET READCYCLE OFF
- Then if the screen was generated from the Screen Builder, the READ
- would contain the clauses MODAL and CYCLE no matter what the check
- box settings were set to before selecting <Generate>. If the screen
- was generated from a project, the READ would contain MODAL no matter
- what the settings were set to in the project but the CYCLE setting
- would be set to whatever the project setting was set to.
-
- New: When using *:BASOBJ and snippet type is different between library
- and screen surface, the procedure snippet is automatically placed
- into the Cleanup snippet as a unique function and the function
- name is added to the expression.
-
- Fix: *:IF works properly when used with *:INSSCX or *:INSOBJ directives.
-
- Notes: If #SECTION 1 is in the Setup snippet, then #:INSERT and #:INSERTTOP
- must be placed after the #SECTION 1 statement.
-
- Notes: If COMPSPR=ON and DISPSPR=ON and an .ERR file is created forcing
- GENSCRNX to display the .SPR and .ERR files, then the window with
- the .SPR file must be closed before re-generating the .SCX when
- SHARE.EXE is loaded to avoid a sharing violation error.
-
- Notes: GENSCRNX automatically searches the Setup snippet and Comment
- snippets for any *: or {{ characters to determine of the .SCX
- database needs pre-processing. Therefore, if any {{<expC>}} need
- to be evaluated and are not in the Setup snippet or Comment
- snippets, they may not be evaluated properly. If the GENSCRNX
- error mode appears or pre-processing is not being performed when
- it needs to be, simply place *: on any line in the Setup snippet
- to force GENSCRNX to pre-process the .SCX database.
-
- ---------------------------------------------------------------------------
-
-
- 1.6
- ------
-
-
- New: *:AUTORUN
- Automatically releases screen after generation and execute generated
- file. *:AUTORUN is automatically disabled if either a compiled file
- is not properly generated or a compile error was detected via the
- COMPSPR=ON.
-
- New: *:COMPSPR
- Overrides COMPSPR=OFF in CONFIG.FP/CONFIG.FPW.
-
- New: *:DISPSPR
- Overrides DISPSPR=OFF in CONFIG.FP/CONFIG.FPW.
-
- New: *:ENDFNCT
- Place at end of code that follows *:FUNCTION to mark ending of text.
- *:ENDTXT is now used with *:INSTXT and is not used with *:FUNCTION.
-
- New: {{< <file> }}
- Insert a file at compile time. The < that follows the open braces is
- the command that evaluates the contents of a file and inserts the file
- at that location. Note: The inserted file may contain {{ <expC} }}
- to be evaluated.
-
- New: {{ <expC1> :: [<expC2>] [:: <expC3>] }}
- Insert code from a screen or library object. <expC1> is the
- library.object name just as in *:DEFOBJ, *:BASOBJ, etc. Note if the
- library name is not included, the object is searched for specified by
- the *:INCLIB and *:BASLIB directives in the Setup snippet. Also, if a
- matching object is defined via the *:DEFOBJ directive on the surface
- screen, that object will have proirity over any matching library
- objects. <expC2> is the string to be evaluated. After the .SCX
- record is matched, any string can be evaluated (ex. 'VALID' to return
- the VALID snippet). If <expC2> is null, the COMMENT contents will
- be returned. <expC3> is the option method name. If <expC3> is
- included, the text block specified by the matching method defined by
- *:METHOD <name> ... *:ENDMTHD is returned.
-
- New: *:METHOD
- Place at start of code to mark beginning of method code.
-
- New: *:ENDMETHOD
- Place at end of the code that follows *:METHOD to mark ending of
- text.
-
- Fix: Fix for incorrect generation of Setup snippets when screen sets
- contain more than one screen that are pre-processed by GENSCRNX.
-
- Fix: Proper execution for multiple *:INSOBJ directives.
-
- Notes: GENSCRNX default behavior does not add * Start of text and * End
- of text messages for the *:INSTXT directive for enhanced
- performance. To add the commented text (as in version 1.5 and
- earlier) either set OUTTXT=ON in the CONFIG.FP/CONFIG.FPW file or
- set a public variable _OUTTXT='ON'.
-
- Notes: *:OBJNAM has been renamed to *:DEFOBJ. For an example, refer
- to the COLOR text object in the sample screen CUST4.SCX.
-
- ---------------------------------------------------------------------------
-
-
- 1.5
- -----
-
-
- New: #:SECTION 3
- Used in Setup snippet (like #SECTION 1 | 2) to insert code after GETs
- and before READ in the Screen Layout. For an example, refer to
- CUST5.SCX.
-
-
- New: *:FUNCTION <function name>
- Used in Comment snippet of object to automatically insert a function
- into the Cleanup snippet. Function needs to be written just like a
- typical FoxPro UDF except that *:FUNCTION is used instead of FUNCTION.
- GENSCRNX will automatically remove the *: from *:FUNCTION. Only on
- *:FUNCTION can exist per Comment snippet.
-
-
- New: *:ENDTXT
- Place at end of the code that follows *:INSTXT or *:FUNCTION to mark
- ending of text to be inserted.
-
-
- New: *:SAVESIZE
- Used with *:DEFOBJs to force the SIZE information to be retrieved from
- the library when the object is based in a screen. For an example, refer
- to the PHONE object in the MAIN library (LIBMAIN1.SCX).
-
-
- New: *:SAVEPICT
- Used with *:DEFOBJs to force the PICTURE information to be retrieved from
- the library when the object is based in a screen. For an example, refer
- to the CONTROL_BAR_ object in the MAIN library (LIBMAIN1.SCX).
-
-
- New: *:BASBEFORE
- Used with *:DEFOBJs to force any inherited expressions or procedures to be
- inserted before rathre than appended after to any screen surface code.
-
-
- New: Referenced library objects can mix expressions and procedures. The
- expressions are automatically converted to IF/ENDIF blocks. For example,
- if a VALID object is in the library as an expression and in a screen
- surface is inheriting that object but has a procedure VALID snippet, the
- expression from the library will be converted to an IF/ENDIF block and
- appended to the screen snippet (unless *:BASBEFORE which will force the
- library expression to be inserted before). If *:BASOBJ is used to
- inherit snippet(s) from a library and the snippet type of the screen
- object snippet is not equal to the snippet type of the library object
- snippet, the snippet that is a function is automatically converted
- into a procedure and appended to obtain the same functionality.
-
-
- New: *:PRG
- A Setup snippet directive called *:PRG that is used to automatically
- change the .SPR extension to a .PRG extension and also add the
- #NOREAD PLAIN directive to the Setup snippet. The *:PRG directive
- used in conjunction with screen objects with the *:INSTXT directive
- will allow a .PRG file to be created that has no GETs, SAYs, or READ,
- while the screen builder Object Order controls the order of the FoxPro
- source code generated in the .PRG file.
-
-
- New: Improved error handle routine
- Cancel, Ignore, Suspend options
- Error line can be copied from error window into the clipboard
- Display of current open database, ALIAS, and record number
-
- New: Improved warning handle routine
- Cancel, Ignore, Suspend options
-
- New: Warning message defaults to cancel GENSCNRX
- To override, set AUTOHALT=OFF in the CONFIG.FP/CONFIG.FPW
-
- New: A function in GENSCRNX to allow a public variable or CONFIG.FP/
- CONFIG.FPW setting to globally enable/disable drivers.
- Example: To disable the 3D driver globally:
- 1) Place 3D=OFF in the CONFIG.FPW file
- 2) Set a public variable _3D='OFF'
- Note: The public variable overrides the CONFIG.FPW setting
-
-
- New: *:OBJNAM <expC>
- For use with the objdata() function for object locating at compile time.
-
-
- Fix: *:IF and *:INSTXT works properly for SAY(Refresh) objects. Code is
- inserted in both Screen Layout and Read Show sections.
-
- Fix: Building from projects with non-normal ordered records
-
- Fix: Temporary .SCX, .PJX, and .MEM file names created during GENSCRNX are
- unique instead of fixed for network compatibility.
-
- Fix: Proper output of Setup snippet for cross-platform screens when the
- snippets are different and PLATONLY=ON in the CONFIG.FP/CONFIG.FPW
- or a public variable _PLATONLY='ON'
-
- Fix: Fix for *:SIZE directive with EDIT objects and refreshed SAY objects
-
- Fix: Fix for *:SIZE directive with refreshed SAY objects
-
- Fix: Fix for *:INSSCX directive when object is smaller than template
-
- Notes: The *:NOSIZE directive is ignored for EDIT objects
-
- Notes: For WINMOVE.PRG driver, specify *:SCXDRV2 WINMOVE in Setup snippet
-
- Notes: For NOSIZE.PRG driver, specify *:SCXDRV3 NOSIZE in Setup snippet
-
- Notes: For 3D.PRG driver, specify *:SCXDRV5 3D in Setup snippet
-
- Notes: The following .PRG files previously contained in GSXSAMPL.ZIP
- sample code are now contained inside of GENSCRNX:
- OBJDATA.PRG, OBJSAY.PRG, OBJPOS.PRG, LIBDATA.PRG
- The above files should be deleted if the exist from previous
- GSXSAMPL.ZIP sample code.
-
- ---------------------------------------------------------------------------
-
-
- 1.4a
- ------
-
-
- Fix: _SCXDRVn and _SPRDRVn in CONFIG.FP/CONFIG.FPW for cross-platform screens
-
- Fix: GENSCRNX should pre-process .SCX if _SCXDRVn is in CONFIG.FP/CONFIG.FPW
- even when no GENSCRNX directives exist in the .SCX
-
- Fix: Building from projects with header record not RECNO()=1
-
- Fix: Proper output of Setup snippet for cross-platform screens when the
- snippets are different
-
-
- ---------------------------------------------------------------------------
-